Skip to content

HOLD: harden disabled AEON Aspect workers (no live activation)#2346

Open
StephGlansberg wants to merge 22 commits into
block:mainfrom
StephGlansberg:codex/aeon-aspect-workers
Open

HOLD: harden disabled AEON Aspect workers (no live activation)#2346
StephGlansberg wants to merge 22 commits into
block:mainfrom
StephGlansberg:codex/aeon-aspect-workers

Conversation

@StephGlansberg

@StephGlansberg StephGlansberg commented Jul 22, 2026

Copy link
Copy Markdown

HOLD — no live activation

This PR is a disabled source checkpoint for six AEON Aspect buzz-acp workers. It does not install, load, start, restart, switch, or mutate any live Gateway, session, token, worker, Fleet policy, or Concilium path. It makes no Voxis, A2A, or live-canary claim.

What it hardens

  • Canonical private ephemeral-room admission: positive ttl, valid future ttl_deadline, deterministic latest kind-39000 selection, strict singleton-tag parsing, exact h tag, and fail-closed revocation on expiry/archive/membership removal/query failure. Stale malformed metadata can recover through a newer valid canonical event; malformed canonical or unorderable evidence remains closed.
  • Runtime receipt correlation from triggering request through ACP evidence to one cryptographically verified reply using exactly one canonical prompt anchor; delayed duplicates fail closed. Thread-root follow-ups reuse their effective root anchor while an exact pre-turn event-ID baseline excludes replies from earlier turns.
  • Opt-in trusted inbound-event transport: one signature-verified event is carried outside prompt text at _meta.buzz.inboundEvent; invalid, ambiguous, multi-event, cancelled/merged, and heartbeat turns fail closed with no envelope.
  • Stable fixed Gateway sessions with --require-existing, --no-memory, and --no-base-prompt; Gateway remains the identity, tools, skills, memory, and compaction owner.
  • Existing Buzz ACP behavior is pinned explicitly: one process, queue/queue handling, presence/typing/observer on, bounded context, heartbeat/count rotation off, timeouts fixed, and Architect-approved bypassPermissions posture. No Buzz MCP/model/system/team/initial prompt is injected.
  • Private-office and invited-huddle rules accept the native kind-9 and kind-40002 stream-message surfaces while retaining exact room, exact h, Architect author, and huddle mention gates.
  • One-handle O_NOFOLLOW Aspect key reads with current-user/0600/expected-pubkey checks.
  • Six deterministic, secret-free LaunchAgent previews with RunAtLoad=false, KeepAlive=false, Fleet placeholders, and one-worker rollback labels.
  • Real six-TOML load_rules() and Clap parsing tests plus package validators. Receipt mode now requires verified owner authority before startup, and no-argument LaunchAgent rendering uses the checked-in OSS fixture.

Proof

  • node --test deploy/local/aeon-aspects/worker.test.mjs — 10/10
  • node deploy/local/aeon-aspects/validate.mjs — OK
  • cargo test -p buzz-acp — 602/602, including canonical metadata ambiguity/recovery, stable-thread-root receipt isolation, two-turn thread-root, top-level-DM, and trusted-envelope contracts
  • cargo clippy -p buzz-acp --all-targets -- -D warnings — green
  • just ci — format, workspace clippy, Desktop/web/mobile checks, Rust/JS tests, Desktop/Tauri builds, and mobile tests green on final head
  • pre-push rust-tests, desktop-tauri-test, and branch-skew — green
  • git diff --check — clean
  • detect-secrets + manual changed/generated-file scan — no secrets; reported examples/test hex only
  • All currently submitted automated review threads are addressed and resolved on the current head.

Does not prove / resume blockers

  • The AEON-v6 ACP run-ID/trusted per-run tool-context and Nexus reply-tool counterparts are accepted source commits awaiting Fleet's joined main checkpoint; they are not proven in a live immutable generation.
  • The fixed Nexus session's caller-bound outbound Buzz publisher/signing path is source-reviewed but not yet proven live.
  • Exact live relay membership is not proven by the identity-map declaration.
  • Cross-process exactly-once is not durable; unattended restart therefore remains disabled.
  • Kind-48106 huddle guideline delivery, broad avatar metadata, and spoken-huddle proof remain open.
  • Workflow approval/multi-room behavior, media mutations, Concilium speech, broad A2A speech, and the other five live workers remain outside the Nexus text canary.

Nexus-only resume checklist

After Fleet releases the runtime lock, all of these are required before requesting a separate Architect Nexus-only canary GO:

  1. Supply the immutable Gateway generation identity and immutable OpenClaw binary path.
  2. Prove pre-existing agent:main:buzz-private and current openclaw acp --require-existing flag behavior.
  3. Supply the owned token-file path and read back: absolute, regular, non-symlink, current-user owner, mode 0600.
  4. Supply an ACP wire fixture with fixed sessionKey and a fresh per-prompt runId.
  5. Prove a caller-bound Nexus-session outbound Buzz publisher that cannot select an arbitrary Aspect and emits a Nexus-signed exact reply anchor.
  6. Verify the live Nexus private room contains exactly Architect and Nexus.
  7. Confirm the legacy aeon-buzz reply path is disabled and no Gateway switch/restart/validation is in progress.
  8. Render replacements for Nexus only, start one worker only, perform one request/reply, retain both event IDs + session key + run ID, and materialize the receipt.
  9. Roll back only org.aeon.buzz-acp.nexus if any proof fails.

The other five workers remain disabled and require separate later authorization.

@StephGlansberg
StephGlansberg force-pushed the codex/aeon-aspect-workers branch 3 times, most recently from 2838194 to 4ef8526 Compare July 22, 2026 17:09
@StephGlansberg
StephGlansberg marked this pull request as ready for review July 22, 2026 17:10
@StephGlansberg
StephGlansberg requested a review from a team as a code owner July 22, 2026 17:10
@StephGlansberg

StephGlansberg commented Jul 22, 2026

Copy link
Copy Markdown
Author

@wesbillman — requesting review as a recent buzz-acp approver. The fork workflows also need maintainer approval to run.

Ready for maintainer review at final head 301928a93655c86628b434e8f2f3f0354c67f682.

The branch remains based on current main (6d04d27). It adds the disabled six-worker package plus a default-off trusted inbound-event ACP metadata seam needed for a caller-bound AEON reply tool; it adds no endpoint and performs no live activation. Final hardening rejects cancelled queue-fallback envelopes, scopes stable-thread-root receipt readback to each turn, requires exact h-tag validation for dynamic huddles, and makes kind-39000 singleton parsing deterministic and fail-closed without letting stale malformed metadata block a newer valid canonical event, requires verified receipt-export ownership before startup, and makes no-argument LaunchAgent rendering reproducible from the checked-in fixture, and rejects multi-anchor reply ambiguity.

Final-head proof:

  • node --test deploy/local/aeon-aspects/worker.test.mjs — 9/9
  • node deploy/local/aeon-aspects/validate.mjs — OK
  • cargo test -p buzz-acp — 602/602
  • cargo clippy -p buzz-acp --all-targets -- -D warnings — green
  • full just ci — green
  • pre-push Rust and Desktop Tauri suites — green
  • git diff --check origin/main...HEAD — clean
  • changed/generated-file secret scan — clean
  • independent final-head source review — ACCEPT
  • all submitted review threads addressed and resolved; fresh Codex review requested

This remains a source-only, disabled-by-default package. A maintainer must approve the current fork workflow runs and a @block/buzz-oss-team CODEOWNER must approve before the protected squash merge can proceed.

Current head workflow approvals:

Maintainer CLI equivalent:

gh api -X POST repos/block/buzz/actions/runs/29947624577/approve
gh api -X POST repos/block/buzz/actions/runs/29947624599/approve

Please approve/run workflows and review when available.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4ef8526d45

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread deploy/local/aeon-aspects/worker.test.mjs Outdated
@StephGlansberg
StephGlansberg force-pushed the codex/aeon-aspect-workers branch from 420ca5f to 011c25e Compare July 22, 2026 17:26

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 47f4b73aaa

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/buzz-acp/src/pool.rs
Comment thread crates/buzz-acp/src/relay.rs
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

1 similar comment
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: b234dd188b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/buzz-acp/src/config.rs
Comment thread deploy/local/aeon-aspects/validate.mjs Outdated
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 3d13c62d53

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/buzz-acp/src/config.rs
Comment thread deploy/local/aeon-aspects/render-launchagents.mjs Outdated
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

Final-head review request for c4f6ca6.

Please focus on the kind-39000 admission parser's canonical selection and strict singleton-tag handling, plus the trusted inbound-event and receipt-correlation boundaries. Local final-head proof: 600/600 buzz-acp tests, focused clippy with warnings denied, full just ci, pre-push gates, six-worker validator, secret scan, and independent read-only ACCEPT.

HOLD remains in force: no live activation, Gateway/session/config mutation, or canary is authorized by this PR.

@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

Final-head request for d62d765. The two delayed findings are fixed and their threads resolved: receipt mode now requires verified owner authority before startup, and no-argument LaunchAgent rendering is fixture-backed and byte-for-byte tested. Local proof: 601/601 buzz-acp, Node 10/10, clippy green, prior full just ci green, current pre-push green. HOLD: no live activation or Gateway mutation.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4f6ca651f

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/buzz-acp/src/relay.rs Outdated
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

Final-head request for 6ff7958. The latest multi-reply-anchor finding is fixed and resolved: exactly one canonical reply tuple is required. Proof: 602/602 buzz-acp, focused 3/3, clippy/pre-push green, prior final-lineage just ci green, independent ACCEPT. HOLD: no live activation or Gateway mutation.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Nice work!

Reviewed commit: 6ff7958c47

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
@StephGlansberg
StephGlansberg force-pushed the codex/aeon-aspect-workers branch from 6ff7958 to 301928a Compare July 22, 2026 18:39
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

Rebased final-head request for 301928a on current block/buzz main 6d04d27. Rebase was conflict-free. Exact-head proof: 602/602 buzz-acp, Node 10/10, clippy green, full just ci green, pre-push Desktop 3383/3383 and mobile 528 passing with one existing skip, independent source review ACCEPT, no unresolved threads. HOLD: no live activation or Gateway mutation.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 301928a936

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread deploy/local/aeon-aspects/worker.mjs
Signed-off-by: StephGlansberg <StephGlansberg@users.noreply.github.com>
@StephGlansberg

Copy link
Copy Markdown
Author

@codex review

Final canary credential fix is now at 60a3f85. Focus: managed-agent Buzz relay/private-key propagation across initial spawn and every respawn, with no secret persistence.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. You're on a roll.

Reviewed commit: 60a3f85fd6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant